Video conferencing is a popular way of long distance communication nowadays. Many kinds of products have appeared in the markets and gained great attention through their ability to save large amounts of time and expenses by enabling the conducting of conversations for people that are not in the same location.
As video technology keeps improving, new video standards have emerged in recent years, such as H.264/AVC (herein, AVC). AVC represents a significant advance in coding efficiency compared to previous video standards, such as H.263, H.261, and MPEG-2. Because of its superior improvement in video data compression and high decoded video quality, AVC is rapidly becoming more widely used in recent years. However, not all products that are based on the previous video standards can be replaced with AVC-based products in a short time. Accordingly, there has been a focus recently on providing transcoders that implement video format conversion in view of AVC. However, engineering and design of transcoders and corresponding methods involving AVC are not without challenges.
For instance, although AVC enables significant gains in bit rate savings and visual quality improvement, it is also more computationally extensive due, for instance, to its comprehensive motion compensated estimation process. For instance, distinct from previous standards, AVC extends the partition choices for motion estimation to seven (7) sizes for P frames: 16×16, 16×8, 8×16, 8×8, 8×4, 4×8 and 4×4. Further, for frames, there are four (4) modes to choose from for 16×16 macroblocks (MBs), while for 4×4 blocks, there are nine (9) different modes from which to choose. AVC also enlarges the range of the reference frames up to sixteen (16) decoded frames. For B frames, besides the same amount of mode choices, there are two lists of reference frames to choose from. For each 16×16 MB, the motion search process may exhaustively compute the cost of all the modes and selects the one resulting in the minimum cost. This motion search process is computationally extensive and time consuming. Therefore, many transcoding techniques have been proposed, and several methods on reducing the complexity of the motion estimation process have been presented (e.g., with a focus toward reducing the complexity of the motion estimation process in AVC encoding in the direction of converting H.263 video stream to AVC streams).
Other challenges are involved in transcoder development. For instance, other than motion estimation, AVC applies integer precision transform to the predicted error signals in more than one block size. Context adaptive entropy coding also presents some computational challenges. Another challenge involves the fact that, typically, a pixel domain deblocking filter is employed in AVC to reduce the blocking artifacts because of the block based encoding process. In view of this in-loop deblocking filter function, the H.263 decoded predicted error signals cannot be directly used if corresponding H.263 motion vectors are to be reused in AVC encoding.